//  -------------------- iSharePoint -------------------- //
// 
//  Company:	IT Complex, LLC
//  Project:	Smart.Workflow
//  File name:	AssignmentTaskActivityEventArgs.cs
//  Developer:	Solomatov Igor
//  Created:	16.04.2012
// 
//  -------------------- iSharePoint -------------------- //

using System;
using System.Workflow.ComponentModel;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Workflow;
using Smart.Workflow.WorkflowActions;

namespace Smart.Workflow
{
	/// <summary>
	/// Assignment task activity event args
	/// </summary>
	[Serializable]
	public class AssignmentTaskActivityEventArgs : AssignmentActivityEventArgs
	{
		public Guid TaskId;
		public string Executor;

		public SPListItem TaskItem;

		public SPWorkflowTaskProperties PropertiesBefore;
		public SPWorkflowTaskProperties PropertiesAfter;

		public bool CompleteTask;

		/// <summary>
		/// Initializes a new instance of the <see cref="T:Smart.Workflow.AssignmentTaskActivityEventArgs"/> class.
		/// </summary>
		public AssignmentTaskActivityEventArgs(Activity source, ActivityInstance instance, SPAssignmentActivity assignment, Guid taskId, string executor, SPListItem taskItem,
		                                       SPWorkflowTaskProperties propertiesBefore, SPWorkflowTaskProperties propertiesAfter)
			: base(source, instance, assignment)
		{
			TaskId = taskId;
			Executor = executor;
			TaskItem = taskItem;
			PropertiesBefore = propertiesBefore;
			PropertiesAfter = propertiesAfter;
		}
	}
}